package com.spring.boot.configer;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.spring.boot.pojo.Pet;
import com.spring.boot.pojo.User;


/**
 * 1、用@bean注册的组件是单例的
 * 2、配置类本身也是组件
 * 3、proxyBeanMethods：代理bean的方法
 * 		true保证其他组件依赖的就是容器中的这个组件，但速度慢，每次都要看容器中是否有这个组件
 * 		false启动快，每次都创建新的对象
 * @author god
 *
 */
@Configuration
//@Configuration(proxyBeanMethods = true)// true为单利，false为多实例。2,4版本才有的功能
public class MyConfig {

	/*
	 * 无论外包调用这个反复多少次，都是单实例对象
	 */
	@Bean // 给容器中添加组件，方法名为组件id。返回类型就是组件类型
	public User user01() {
		return new User();
	}
	
	@Bean("tom01")// 自定义名字 tom
	public Pet pet01() {
		return new Pet();
	}
	
	
}
